#ifndef MYMODEL_H
#define MYMODEL_H

#include <QVector3D>
#include <QVector2D>
#include <vector>
#include <QOpenGLShaderProgram>
#include <QOpenGLExtraFunctions>
#include <QOpenGLTexture>
#include "mymesh.h"
#include <assimp.h>
#include <aiScene.h>       // Output data structure
#include <aiPostProcess.h> // Post processing flags
#include <iostream>
#include <cstring>
#include <QDebug>
#include <QString>
#include <QDir>
#include <QDebug>

using namespace std;

class MyModel: protected QOpenGLExtraFunctions
{
public:
    MyModel(QString path){
        loadModel(path);
    }
//    void Draw(QOpenGLShaderProgram* program);

//private:
    vector<MyMesh> meshes;
    QString directory;
//    vector<Texture> textures;

    void loadModel(QString path);
    void processNode(aiNode *node, const aiScene *scene);
    MyMesh processMesh(aiMesh *mesh, const aiScene *scene);


};

#endif // MYMODEL_H
